Delayed Exceptions - Speculative Execution of Trapping Instructions
نویسندگان
چکیده
Superscalar processors, which execute basic blocks sequentially, cannot use much instruction level parallelism. Speculative execution has been proposed to execute basic blocks in parallel. A pure software approach suffers from low performance, because exception-generating instructions cannot be executed speculatively. We propose delayed exceptions, a combination of hardware and compiler extensions that can provide high performance and correct exception handling in compiler-based speculative execution. Delayed exceptions exploit the fact that exceptions are rare. The compiler assumes the typical case (no exceptions), schedules the code accordingly, and inserts run-time checks and x-up code that ensure correct execution when exceptions do happen.
منابع مشابه
Processor Veri cation with Precise Exceptionsand Speculative
We describe a framework for verifying a pipelined microprocessor whose implementation contains precise exceptions, external interrupts, and speculative execution. We present our correctness criterion which compares the state transitions of pipelined and non-pipelined machines in presence of external interrupts. To perform the veriica-tion, we created a table-based model of pipeline execution. T...
متن کاملA comparison of two policies for issuing instructions speculatively
Value speculation is a speculative technique proposed to reduce the execution time of programs. It relies on a predictor, a checker and a recovery mechanism. The predictor predicts the result of an instruction in order to issue speculatively its dependent instructions, the checker checks the prediction after issuing the predicted instruction, and the recovery mechanism deals with mispredictions...
متن کاملSpeculative Branch Folding for Pipelined Processors
This paper proposes an effective branch folding technique which combines branch instructions with predicted instructions. This technique can be implemented using an instruction queue, which buffers prefetched instructions. Most of the instructions in the instruction queue are forwarded to the execution unit in sequence. Branch instructions, however, are combined with predicted instructions in t...
متن کاملExploiting Speculative Value Reuse Using Value Prediction
Data dependencies between instructions greatly impede instruction-level parallelism. Recently two hardware techniques – Value Prediction and Value Reuse – have been proposed to overcome the limits imposed by data dependencies. We introduce a new hardware scheme for exploiting speculative value reuse by using value prediction. We propose a new microarchitecture which uses value prediction to pro...
متن کاملCompiler and Architectural Techniques for Improving the Effectiveness of VLIW Compilation
Effective VLIW compilation requires optimizing across basic block boundaries. In this mildly opinionated paper we survey a variety of techniques which allow the compiler to do so. We focus on trace scheduling, speculative execution. and software pipelining. These techniques are effective, but cannot in general optimally schedule instructions for all traces of execution. To address this problem,...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1994